package com.gonsin.i18n.app;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

import com.gonsin.i18n.lib.T;
import com.gonsin.i18n.lib.common.TextObserver;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity implements TextObserver {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        HashMap<String, String> map = new HashMap<>();
        map.put("以下是一些例子", "以下是一些例子en");
        //T.setTextList(map);

        // 调用 super.onCreate 之前切换android控件工厂
        T.initFactory(this);
        // 本项目原理是用到 LayoutInflaterFactory2 实现类似皮肤框架的作用，如果项目中用到其他皮肤框架，请使用如下方法
        // T.initFactory(this, 皮肤框架自己的Factory2);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 有些特殊情况，可以使用T.t方法获取翻译后的字符串
        TextView text = findViewById(R.id.text5);
        text.setText(T.t(this, R.string.text5));

        TextView text9 = findViewById(R.id.text9);
        //text9.setText(T.t(this, R.string.text9));

        // 后台字符串如果有修改，会通知到前端，应该
        T.addObserver(this);


        // fragment的使用方式，也和平时一样
        MainFragment fragment = new MainFragment();
        getSupportFragmentManager().beginTransaction()
                .add(R.id.main_fragment, fragment)
                .commit();

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        T.removeObserver(this);
    }

    @Override
    public void applyText() {
        // TODO 自行实现前端页面刷新方法
//        onCreate(null);
        finish();
        Intent intent = new Intent(MainActivity.this, MainActivity.class);
        startActivity(intent);
    }
}